<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script src="./js/inherit_utils.js"></script>
  <script>
    var obj = {
      name: 'why', age: 18
    }
    var info = createObject(obj)
    info.address = "中国"
    info.intro = "中国大好河山"
    console.log(info.name, info.address)
    console.log(info)

    // hasOwnProperty
    // 对象是否有某一个属于自己的属性 （不是在原型上的属性）
    console.log(info.hasOwnProperty("name")) // false
    console.log(info.hasOwnProperty("address")) // true

    // in
    console.log("name" in info) // true
    console.log("address" in info) // true
    // 注意: for in遍历不仅仅是自己对象上的内容, 也包括原型对象上的内容
    for (var key in info) {
      console.log(key)
    }

    // instanceof
    function Person() { }
    function Student() { }
    inherit(Student, Person)

    // stu实例(instance)对象
    var stu = new Student()
    console.log(stu instanceof Student)// true
    console.log(stu instanceof Person)// true
    console.log(stu instanceof Object)// true
    console.log(stu instanceof Array)// false

    // 4.isPrototypeOf
    console.log(Student.prototype.isPrototypeOf(stu))// true
    console.log(Person.prototype.isPrototypeOf(stu))// true

    // 可以用于判断对象之间的继承
    console.log(obj.isPrototypeOf(info))// true

  </script>
</body>

</html>